/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fr.unice.miage.projetjava.managers;

import fr.unice.miage.projetjava.entities.Produit;
import fr.unice.miage.projetjava.*;
import java.util.Collection;
import javax.ejb.Stateful;
import javax.persistence.*;

/**
 * Session Bean gerant Produit
 * @author Olivier
 */
@Stateful
public class GestionnaireDeProduitBean implements GestionnaireDeProduitLocal {
    @PersistenceContext
    private EntityManager em;

    public void persist(Object object) {
        em.persist(object);
    }
    
    // Add business logic below. (Right-click in editor and choose
    // "EJB Methods > Add Business Method" or "Web Service > Add Operation"
    
    public Produit creerProduit(float price, String name, int quantity, String description, String pict)
    {
        Produit prod = new Produit();
        prod.setProduct_price(price);
        prod.setProduct_name(name);
        prod.setQuantity_left(quantity);
        prod.setDescription(description);
        prod.setPicture(pict);
        em.persist(prod);
        return prod;
    }

    public void supprimerProduit(int id)
    {
        Produit prod = em.find(Produit.class, id);
        em.remove(prod);
    }

    public Collection<Produit> listeDeProduit()
    {
        Query query = em.createQuery("SELECT p FROM Produit p");
        return query.getResultList();
    }

    public Produit getProduit(int id)
    {
        Query q = em.createQuery("SELECT p FROM Produit p WHERE p.id='"+id+"'");
        return (Produit) q.getSingleResult();
    }

    public void initProduit()
    {
        creerProduit(69.9f, "Souris Logitech G9", 10, "Souris de joueur", "00001");
        creerProduit(59.9f, "Clavier Logitech G15", 10, "Clavier de joueur", "00002");
    }
    
}
